package com.wing.cabinet.model.response;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wing.cabinet.model.entity.CellInventoryInout;
import com.wing.cabinet.model.entity.CellInventoryInoutDetail;
import com.wing.cabinet.utils.ExcelExport;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 售刀柜上货(上货主表无展示)/领取VO
 *
 * @author
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class CellInventoryInoutApiVO {

    /**
     * ID
     */
    private Long id;

    /**
     * 领取时间
     */
    @JsonFormat(timezone = "GMT+8" , pattern = "yyyy-MM-dd HH:mm:ss" )
    private LocalDateTime createTime;

    /**
     * 创建人
     */
    @ExcelExport(value = "领取人",sort = 140)
    private String creatorName;

    /**
     * 物料名称
     */
    private String skuName;
    /**
     * 物料编号
     */
    private String skuCode;
    /**
     * 规格码
     */
    private String skuSpecOld;
    /**
     * 产品品牌
     */
    private String productBrandName;
    /**
     * 领新订单编号
     */
    private String code;
    /**
     * 领新类型
     */
    private String businessTypeDesc;
    /**
     * 柜子编码
     */
    private String cabCode;
    /**
     * 企业自定义柜子名称
     */
    private String cabName;
    /**
     * 货道
     */
    private String spaceCode;
    /**
     * 包装规格
     */
    private String packName;
    /**
     * 数量(包装计)
     */
    private Integer quantity;
    /**
     * 包装单位
     */
    private String unitName;
    /**
     * 数量(基础单位计)
     */
    private Integer quantityPack;
    /**
     * 基础单位
     */
    private String basicsUnitName;
    /**
     * 产品类型名称
     */
    private String productTypeName;

    /**
     * 产品分类名称
     */
    private String productCategoryName;
    /**
     * 单价
     */
    private BigDecimal marketPrice;
    /**
     * 工单
     */
    private String workOrderCode;
    /**
     * 机台
     */
    private String deviceCode;
    /**
     * 机台部门
     */
    private String deviceDepartmentName;
    /**
     * 刀具寿命
     */
    private String remainingSettingTime;
    /**
     * 寿命单位
     */
    private String lifeUnitName;
    /**
     * 部门
     */
    private String departmentName;
    /**
     * 岗位
     */
    private String roleName;

    private CellInventoryInout.BusinessType businessType;

    public String getBusinessTypeDesc(){
        if (businessType!=null){
            return businessType.getDesc();
        }
        return "";
    }

    private Long departmentId;

    /**
     * 企业编码
     */
    private String enterpriseCode;

    private Integer quantityPackUnit;

    /**
     * 成本中心
     */
    private String costCenter;


    private Long deviceDepartmentId;
}
